<!DOCTYPE html>

<html>
<head>
  <style>
    .box {
      display: inline-block;
      height: 100px;
      width: 100px;
      margin: 20px;
      border: 3px solid blue;
      -webkit-transition-duration: 0.5s;
      -webkit-transition-timing-function: linear;
      -webkit-transition-property: box-shadow;
    }
    
    .final #none-to-normal {
      box-shadow: 20px 20px 10px black;
    }

    .final #none-to-inset {
      box-shadow: 20px 20px 10px black inset;
    }

    #inset-to-normal {
      box-shadow: 20px 20px 10px black inset;
    }

    .final #inset-to-normal {
      box-shadow: 20px 20px 10px black;
    }

    #normal-to-inset {
      box-shadow: 20px 20px 10px black;
    }

    .final #normal-to-inset {
      box-shadow: 20px 20px 10px black inset;
    }

  </style>
  <script src="../animations/resources/animation-test-helpers.js"></script>
  <script type="text/javascript">

    const expectedValues = [
      // [time, element-id, property, expected-value, tolerance]
      // For box-shadow, we test shadow-x and shadow-y to see if it's animating.
      [0.3, 'none-to-normal', 'box-shadow', 'rgba(0, 0, 0, 0.6) 12px 12px 6px 0px', 1],
      [0.3, 'none-to-inset', 'box-shadow', 'rgba(0, 0, 0, 0.6) 12px 12px 6px 0px inset', 1],
      [0.3, 'inset-to-normal', 'box-shadow', 'rgb(0, 0, 0) 20px 20px 10px 0px', 1],
      [0.3, 'normal-to-inset', 'box-shadow', 'rgb(0, 0, 0) 20px 20px 10px 0px inset', 1],
    ];
  
    function setupTest()
    {
      document.body.className = 'final';
    }
  
    runTransitionTest(expectedValues, setupTest);
  </script>
</head>
<body>

  <div id="none-to-normal" class="box"></div>
  <div id="none-to-inset" class="box"></div>
  <div id="inset-to-normal" class="box"></div>
  <div id="normal-to-inset" class="box"></div>

  <div id="result">
  </div>

</body>
</html>
